package com.cruel_wandering.wifi_geo_predictor.location;

import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;

public interface MyLocationProvider
{
	/**
	 * Returns the current enabled/disabled status.
	 */
	public boolean isEnabled();

	/**
	 * Returns a Location indicating the data from the last known location
	 * fix obtained from the given provider.
	 */
	public Location getLastKnownLocation();

	/**
	 * Indication about whether a given criteria is met.
	 */
	public boolean meetsCriteria(Criteria criteria);

	/**
	 * Registers the current activity to be notified periodically.
	 */
	public void requestLocationUpdates(long minTime, float minDistance,
		LocationListener listener);

	/**
	 * Removes any current registration for location updates of the current
	 * activity with the given LocationListener.
	 */
	public void removeUpdates(LocationListener listener);

	/**
	 * Force enable/disable location provider
	 * @param enabled new status
	 */
	public void setEnabled(boolean enabled);
}